Depth mapping with polarization and focus pixels

ABSTRACT

In some embodiments, an image sensor structure includes a super-pixel sensor comprising a plurality of micro-pixel sensors. The image sensor structure includes a plurality of micro-lenses affixed to focus light on the plurality of micro-pixel sensors. In some embodiments, each micro-lens of the plurality of micro-lenses directs light to locations on a respective one or more of the plurality of micro-pixel sensors. In some embodiments, the image sensor structure includes one or more color filters affixed at locations for filtering light directed by the micro-lenses to a first set of color image micro-pixel sensors comprising one or more of the plurality of micro-pixel sensors for capturing color image data and one or more polarization filters affixed at locations for filtering light directed by the micro-lenses to a second set of polarization micro-pixel sensors comprising one or more of the plurality of micro-pixel sensors for capturing depth map data.

BACKGROUND Technical Field

This disclosure relates generally to depth mapping and more specificallyto depth mapping in color image sensors.

Description of the Related Art

The advent of small, mobile multipurpose devices such as smartphones andtablet or pad devices has resulted in a need for high-resolution, smallform factor cameras for integration in the devices. Simultaneously,research in computerized graphics processing has long sought to extractdata for modeling three-dimensional features of a feature portrayed inan image from two-dimensional images of the feature. Researchers havesought to express data for modeling three-dimensional features of anitem in several ways: depth maps, surface normal vectors, surfacegradients, and surface slant and tilt. Depth can be considered either asthe relative distance from a camera to surface points or the relativesurface height above the x-y plane. Surface normal vectors are theorientation of a vector perpendicular to a tangent plane on the objectsurface.

In computer vision, the techniques to recover shape are calledshape-from-X techniques, where X can be shading, stereo, motion,texture, etc. Each such technique represents an attempt to extract froma data representation of incoming light at a sensor the threedimensional features of the object off which the light has most recentlyreflected. Shape-from-x techniques encounter various limitations ontheir applicability.

SUMMARY OF EMBODIMENTS

Some embodiments include an image sensor structure for capturing visiblelight intensity and polarization data. In some embodiments, the imagesensor structure includes a super-pixel sensor including a plurality ofmicro-pixel sensors. In some embodiments, the image sensor structureincludes a plurality of micro-lenses affixed to focus light on theplurality of micro-pixel sensors. In some embodiments, each micro-lensof the plurality of micro-lenses directs light to locations on arespective one or more of the plurality of micro-pixel sensors. In someembodiments, the image sensor structure includes one or more colorfilters affixed at locations for filtering light directed by themicro-lenses to a first set of color image micro-pixel sensors includingone or more of the plurality of micro-pixel sensors for capturing colorimage data and one or more polarization filters affixed at locations forfiltering light directed by the micro-lenses to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors for capturing depth map data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a portable multifunction devicewith a camera in accordance with some embodiments.

FIG. 2 depicts a portable multifunction device having a camera inaccordance with some embodiments.

FIG. 3 illustrates a top view of an example embodiment of a cameramodule or assembly that may, for example, be used to provide depthmapping with polarization and focus pixels in small form factor cameras,according to at least some embodiments.

FIG. 4 depicts a pixel array representing an embodiment of an imagesensor that may, for example, be used to provide depth mapping withpolarization and focus pixels in small form factor cameras, according toat least some embodiments.

FIG. 5 illustrates a pixel array representing an embodiment of an imagesensor that may, for example, be used to provide depth mapping withpolarization and focus pixels in small form factor cameras, according toat least some embodiments.

FIG. 6 depicts a pixel array with microlenses representing an embodimentof an image sensor that may, for example, be used to provide depthmapping with polarization and focus pixels in small form factor cameras,according to at least some embodiments.

FIG. 7 illustrates a pixel array with microlenses representing anembodiment of an image sensor that may, for example, be used to providedepth mapping with polarization and focus pixels in small form factorcameras, according to at least some embodiments.

FIG. 8A is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments.

FIG. 8B is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments.

FIG. 9 is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments.

FIG. 10 is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments.

FIG. 11 illustrates an example computer system configured to implementaspects of the system and method for camera control with depth mappingwith polarization and focus pixels, according to some embodiments.

This specification includes references to “one embodiment” or “anembodiment.” The appearances of the phrases “in one embodiment” or “inan embodiment” do not necessarily refer to the same embodiment.Particular features, structures, or characteristics may be combined inany suitable manner consistent with this disclosure.

“Including.” This term is open-ended. As used in the appended claims,this term does not foreclose additional structure or steps. Consider aclaim that recites: “An apparatus including one or more processor units. . . .” Such a claim does not foreclose the apparatus from includingadditional components (e.g., a network interface unit, graphicscircuitry, etc.).

“Configured To.” Various units, circuits, or other components may bedescribed or claimed as “configured to” perform a task or tasks. In suchcontexts, “configured to” is used to connote structure by indicatingthat the units/circuits/components include structure (e.g., circuitry)that performs those task or tasks during operation. As such, theunit/circuit/component can be said to be configured to perform the taskeven when the specified unit/circuit/component is not currentlyoperational (e.g., is not on). The units/circuits/components used withthe “configured to” language include hardware—for example, circuits,memory storing program instructions executable to implement theoperation, etc. Reciting that a unit/circuit/component is “configuredto” perform one or more tasks is expressly intended not to invoke 35U.S.C. § 112, sixth paragraph, for that unit/circuit/component.Additionally, “configured to” can include generic structure (e.g.,generic circuitry) that is manipulated by software and/or firmware(e.g., an FPGA or a general-purpose processor executing software) tooperate in manner that is capable of performing the task(s) at issue.“Configure to” may also include adapting a manufacturing process (e.g.,a semiconductor fabrication facility) to fabricate devices (e.g.,integrated circuits) that are adapted to implement or perform one ormore tasks.

“First,” “Second,” etc. As used herein, these terms are used as labelsfor nouns that they precede, and do not imply any type of ordering(e.g., spatial, temporal, logical, etc.). For example, a buffer circuitmay be described herein as performing write operations for “first” and“second” values. The terms “first” and “second” do not necessarily implythat the first value must be written before the second value.

“Based On.” As used herein, this term is used to describe one or morefactors that affect a determination. This term does not forecloseadditional factors that may affect a determination. That is, adetermination may be solely based on those factors or based, at least inpart, on those factors. Consider the phrase “determine A based on B.”While in this case, B is a factor that affects the determination of A,such a phrase does not foreclose the determination of A from also beingbased on C. In other instances, A may be determined based solely on B.

DETAILED DESCRIPTION

Introduction to Depth Mapping with Polarization and Focus Pixels

Some embodiments include camera equipment outfitted with an image sensorstructure for capturing light intensity and polarization data. Someembodiments include equipment for calculating or estimating from dataderived from color micropixels with micro-lenses configured to cover themultiple micropixels, taking advantage of angular sensitivity developedin the micropixels by the placement of the microlenses. In someembodiments, the placement of the microlens creates effects analogous toshifts in the perspective of the multiple micropixels. In someembodiments, a disparity estimate is calculated.

In some embodiments, color pixel disparity information yields a coarserelative depth map of nearby objects in the scene, even if the depth mapdoes not yield fine surface geometry. In some embodiments, polarizationdata may yield fine surface geometry of continuous surfaces even whenunable to provide the relative depths of different surfaces/objects inthe scene. In some embodiments, disparity and polarization data arecomplementary measurements of depth and are combinable. Some embodimentsgenerate a first variety of depth map data from micro-lenses coveringmultiple pixels (color pixels, disparity based), such as those shown inFIGS. 6-7 and discussed below. Some embodiments generate a secondvariety depth map data from polarization surface normal data (e.g.,polarization data derived from multiple filters, for example 3 (0, 60,and 120 deg) or 4 filters (0, 45, 90 and 135 deg)), such as those shownin FIGS. 4-7 and discussed below. In some embodiments, both varieties ofdepth map data are combined to build up a depth map which has bothcoarse relative depths of objects (from color image disparity) and finesurface detail (from polarization). In some embodiments, color data isalso fused to the depth map.

In some embodiments, a super-pixel sensor including a plurality ofmicro-pixel sensors. In some embodiments, a plurality of micro-lenses isaffixed to focus light on the plurality of micro-pixel sensors. In someembodiments, each micro-lens of the plurality of micro-lenses directslight to locations on a respective one or more of the plurality ofmicro-pixel sensors. In some embodiments, one or more color filters isaffixed at locations for filtering light directed by the micro-lenses toa first set of color image micro-pixel sensors including one or more ofthe plurality of micro-pixel sensors for capturing color image data. Insome embodiments, one or more polarization filters is affixed atlocations for filtering light directed by the micro-lenses to a secondset of polarization micro-pixel sensors including one or more of theplurality of micro-pixel sensors for capturing depth map data. In someembodiments, the one or more polarization filters include diffractiongratings with a spacing smaller than a wavelength of light intended tobe filtered for polarization selection or sensitivity. As one ofordinary skill in the art will readily comprehend in light of havingread the present disclosure, in other embodiments, the one or morepolarization filters include sub wavelength structures offering similarpolarization selection or sensitivity without use of a grating.

In some embodiments, the one or more polarization filters includegratings including lithographically deposited tungsten, or anothersuitable material, such as aluminum. In some embodiments, the one ormore polarization filters include gratings aligned for filtering lightof a first polarization, and gratings aligned for filtering light of apolarization orthogonal to the first polarization. In some embodiments,the one or more polarization filters include one or more polarizationfilters affixed at locations for filtering light directed by respectiveindividual ones of the micro-lenses to individual ones of the set ofpolarization micro-pixel sensors.

In some embodiments, the one or more polarization filters include one ormore polarization filters affixed at locations for filtering lightdirected by respective individual ones of the micro-lenses to groupsincluding pluralities of polarization micropixel sensors of the set ofpolarization micro-pixel sensors. In some embodiments, a quantity of thepolarization micro-pixel sensors including the one or more of theplurality of micro-pixel sensors for capturing depth map data is equalto quantities of the one or more of the plurality of micro-pixel sensorsfor capturing color image data for each color of a plurality of colorscaptured by the plurality of micro-pixel sensors for capturing colorimage data.

In some embodiments, a quantity of the polarization micro-pixel sensorsincluding the one or more of the plurality of micro-pixel sensors forcapturing depth map data is equal to a quantity of the one or more ofthe plurality of micro-pixel sensors for capturing color image data fora color of a plurality of colors captured by the plurality ofmicro-pixel sensors for capturing color image data.

Some embodiments include a camera module. In some embodiments, thecamera module includes a super-pixel sensor including a plurality ofmicro-pixel sensors; In some embodiments, the camera module includes aplurality of micro-lenses affixed to an image sensor structure at anangle calculated to direct light to the plurality of micro-pixelsensors. In some embodiments, each of the plurality of micro-lensesdirects light to locations on a respective one or more of the pluralityof micro-pixel sensors. In some embodiments, the camera module includesa plurality of color filters affixed at locations for filtering lightdirected by the micro-lenses to a first set of micro-pixel sensorsincluding one or more of the plurality of micro-pixel sensors. In someembodiments, the camera module includes a plurality of polarizationfilters affixed at locations for filtering light directed by themicro-lenses to a second set of micro-pixel sensors including one ormore of the plurality of micro-pixel sensors.

In some embodiments, the plurality of micropixel sensors share afloating diffusion node. In some embodiments, the one or morepolarization filters include gratings aligned for filtering light of afirst polarization, gratings aligned for filtering light of a secondpolarization orthogonal to the first polarization, gratings aligned forfiltering light of a third polarization halfway between the firstpolarization and the second polarization, and gratings aligned forfiltering light of a fourth polarization antiparallel to the thirdpolarization.

In some embodiments, a quantity of the polarization micro-pixel sensorsincluding the one or more of the plurality of micro-pixel sensors forcapturing depth map data is equal to quantities of the one or more ofthe plurality of micro-pixel sensors for capturing color image data foreach color of a plurality of three colors captured by the plurality ofmicro-pixel sensors for capturing color image data.

In some embodiments, a quantity of the polarization micro-pixel sensorsincluding the one or more of the plurality of micro-pixel sensors forcapturing depth map data is greater than quantities of the one or moreof the plurality of micro-pixel sensors for capturing color image datafor each color of a plurality of two colors captured by the plurality ofmicro-pixel sensors for capturing color image data and less than aquantity of one or more of the plurality of micro pixel sensors forcapturing color image data for a third color captured by the pluralityof micro-pixel sensors.

In some embodiments, the one or more polarization filters include one ormore polarization filters affixed at locations for filtering lightdirected by respective individual ones of the micro-lenses to groupsincluding pluralities of polarization micropixel sensors of the set ofpolarization micro-pixel sensors, wherein each micro-lens directs lightto a micropixel sensor for capturing depth map data and a correspondingplurality of micropixel sensors for capturing color image data of aselected color.

In some embodiments, the one or more polarization filters include one ormore polarization filters affixed at locations for filtering lightdirected by respective individual ones of the micro-lenses to individualones of the set of polarization micro-pixel sensors, and the pluralityof micro-pixel sensors for capturing color image data include groups ofone or more micropixel sensors sharing a common microlens among thegroup. In some embodiments, no color filter or infrared filter above thepolarization micropixels is applied. In some such embodiments, anarrangement with no color filter or infrared filter above thepolarization micropixels applied allows more light to penetrate throughto the micropixel and thereby compensates for attenuation brought aboutby the inclusion of a polarization-sensitive element orpolarization-selective element.

In some embodiments, the camera module includes a circuit for addingoutput of the plurality of polarization micropixel sensors for use as asimulated intensity pixel sensor.

In some embodiments, the camera module includes a circuit for addingoutput of the plurality of polarization micropixel sensors for use as asimulated intensity pixel sensor and doubling the output of thesimulated intensity pixel sensor to compensate for light loss throughthe polarization filters.

Some embodiments include a method for generating depth map data. In someembodiments, the method includes a plurality of micro-lenses focusinglight on a plurality of micro-pixel sensors, wherein each micro-lens ofthe plurality of micro-lenses directs light to locations on a respectiveone or more of the plurality of micro-pixel sensors. In someembodiments, the method includes one or more color filters filteringlight directed by the micro-lenses to a first set of color imagemicro-pixel sensors including one or more of the plurality ofmicro-pixel sensors for capturing color image data. In some embodiments,the method includes the first set of color image micro-pixel sensorscapturing color image data. In some embodiments, the method includes oneor more polarization filters filtering light directed by themicro-lenses to a second set of polarization micro-pixel sensorsincluding one or more of the plurality of micro-pixel sensors forcapturing depth map data. In some embodiments, the method includes thesecond set of polarization micro-pixel sensors capturing depth map data.

In some embodiments, the method includes constructing a depth map fromthe depth map data. In some embodiments, the method includesconstructing a depth map from the depth map data, constructing a colorimage from the color image data, and associating the depth map data withthe color image data to build a color-image and depth map datastructure.

In some embodiments, the method includes adding output of the pluralityof polarization micropixel sensors for use as a simulated intensitypixel sensor and doubling the output of the simulated intensity pixelsensor to compensate for light loss through the polarization filters.

Multifunction Device Examples

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present disclosure. However, it will beapparent to one of ordinary skill in the art that some embodiments maybe practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first contact could be termed asecond contact, and, similarly, a second contact could be termed a firstcontact, without departing from the intended scope. The first contactand the second contact are both contacts, but they are not the samecontact.

The terminology used in the description herein is for the purpose ofdescribing particular embodiments only and is not intended to belimiting. As used in the description and the appended claims, thesingular forms “a”, “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“includes,” “including,” “includes,” and/or “including,” when used inthis specification, specify the presence of stated features, integers,steps, operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Example embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops, cameras, cell phones, or tablet computers, mayalso be used. It should also be understood that, in some embodiments,the device is not a portable communications device, but is a desktopcomputer with a camera. In some embodiments, the device is a gamingcomputer with orientation sensors (e.g., orientation sensors in a gamingcontroller). In other embodiments, the device is not a portablecommunications device, but is a camera.

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device may include one or moreother physical user-interface devices, such as a physical keyboard, amouse and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent to the user.

Attention is now directed toward embodiments of portable devices withcameras. FIG. 1 is a block diagram illustrating portable multifunctiondevice 100 with camera 164 in accordance with some embodiments ofmethods, systems, and apparatus for depth mapping with polarization andfocus pixels in small form factor cameras. Camera 164 is sometimescalled an “optical sensor” for convenience, and may also be known as orcalled an optical sensor system. Device 100 may include memory 102(which may include one or more computer readable storage mediums),memory controller 122, one or more processing units (CPU's) 120,peripherals interface 118, RF circuitry 108, audio circuitry 110,speaker 111, touch-sensitive display system 112, microphone 113,input/output (I/O) subsystem 106, other input or control devices 116,and external port 124. Device 100 may include one or more opticalsensors 164 adapted for depth mapping with polarization and focus pixelsin small form factor cameras. These components may communicate over oneor more communication buses or signal lines 103.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 may have more orfewer components than shown, may combine two or more components, or mayhave a different configuration or arrangement of the components. Thevarious components shown in FIG. 28 may be implemented in hardware,software, or a combination of hardware and software, including one ormore signal processing and/or application specific integrated circuits.

Memory 102 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 102 by other components of device 100, such asCPU 120 and the peripherals interface 118, may be controlled by memorycontroller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU 120, and memorycontroller 122 may be implemented on a single chip, such as chip 104. Insome other embodiments, they may be implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a variety of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), high-speed uplink packet access (HSUPA),wideband code division multiple access (W-CDMA), code division multipleaccess (CDMA), time division multiple access (TDMA), Bluetooth, WirelessFidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/orIEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocolfor e-mail (e.g., Internet message access protocol (IMAP) and/or postoffice protocol (POP)), instant messaging (e.g., extensible messagingand presence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data may be retrievedfrom and/or transmitted to memory 102 and/or RF circuitry 108 byperipherals interface 118. In some embodiments, audio circuitry 110 alsoincludes a headset jack (e.g., 212, FIG. 2). The headset jack providesan interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 may include display controller 156 andone or more input controllers 160 for other input or control devices.The one or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input controldevices 116 may include physical buttons (e.g., push buttons, rockerbuttons, etc.), dials, slider switches, joysticks, click wheels, and soforth. In some alternate embodiments, input controller(s) 160 may becoupled to any (or none) of the following: a keyboard, infrared port,USB port, and a pointer device such as a mouse. The one or more buttons(e.g., 208, FIG. 2) may include an up/down button for volume control ofspeaker 111 and/or microphone 113. The one or more buttons may include apush button (e.g., 206, FIG. 2).

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output may includegraphics, text, icons, video, and any combination thereof (collectivelytermed “graphics”). In some embodiments, some or all of the visualoutput may correspond to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor or set of sensorsthat accepts input from the user based on haptic and/or tactile contact.Touch screen 112 and display controller 156 (along with any associatedmodules and/or sets of instructions in memory 102) detect contact (andany movement or breaking of the contact) on touch screen 112 andconverts the detected contact into interaction with user-interfaceobjects (e.g., one or more soft keys, icons, web pages or images) thatare displayed on touch screen 112. In an example embodiment, a point ofcontact between touch screen 112 and the user corresponds to a finger ofthe user.

Touch screen 112 may use LCD (liquid crystal display) technology, LPD(light emitting polymer display) technology, or LED (light emittingdiode) technology, although other display technologies may be used inother embodiments. Touch screen 112 and display controller 156 maydetect contact and any movement or breaking thereof using any of avariety of touch sensing technologies now known or later developed,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith touch screen 112. In an example embodiment, projected mutualcapacitance sensing technology is used.

Touch screen 112 may have a video resolution in excess of 100 dpi. Insome embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user may make contact with touch screen 112using any suitable object or appendage, such as a stylus, a finger, andso forth. In some embodiments, the user interface is designed to workprimarily with finger-based contacts and gestures, which can be lessprecise than stylus-based input due to the larger area of contact of afinger on the touch screen. In some embodiments, the device translatesthe rough finger-based input into a precise pointer/cursor position orcommand for performing the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom touch screen 112 or an extension of the touch-sensitive surfaceformed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 may include a power management system, oneor more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 may also include one or more optical sensors or cameras 164.FIG. 28 shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 may include charge-coupleddevice (CCD) or complementary metal-oxide semiconductor (CMOS)phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lens, and converts the lightto data representing an image, video, and/or a depth map. In conjunctionwith imaging module 143 (also called a camera module), optical sensor164 may capture still images, video, and/or depth maps. In someembodiments, an optical sensor is located on the back of device 100,opposite touch screen display 112 on the front of the device, so thatthe touch screen display may be used as a viewfinder for still and/orvideo image acquisition. In some embodiments, another optical sensor islocated on the front of the device so that the user's image may beobtained for videoconferencing while the user views the other videoconference participants on the touch screen display. While a depthmapping module 158 is explicitly shown in FIG. 1, a person of ordinaryskill in the art will readily ascertain, in light of having read thepresent disclosure, that the methods, processes and systems describedherein may be implemented in many of the hardware and softwarecomponents and systems described herein without departing from the scopeand intent of the present disclosure.

Device 100 may also include one or more proximity sensors 166. FIG. 28shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 may be coupled to input controller 160in I/O subsystem 106. In some embodiments, the proximity sensor turnsoff and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 includes one or more orientation sensors 168. In someembodiments, the one or more orientation sensors include one or moreaccelerometers (e.g., one or more linear accelerometers and/or one ormore rotational accelerometers). In some embodiments, the one or moreorientation sensors include one or more gyroscopes. In some embodiments,the one or more orientation sensors include one or more magnetometers.In some embodiments, the one or more orientation sensors include one ormore of global positioning system (GPS), Global Navigation SatelliteSystem (GLONASS), and/or other global navigation system receivers. TheGPS, GLONASS, and/or other global navigation system receivers may beused for obtaining information concerning the location and orientation(e.g., portrait or landscape) of device 100. In some embodiments, theone or more orientation sensors include any combination oforientation/rotation sensors. FIG. 28 shows the one or more orientationsensors 168 coupled to peripherals interface 118. Alternately, the oneor more orientation sensors 168 may be coupled to an input controller160 in I/O subsystem 106. In some embodiments, information is displayedon the touch screen display in a portrait view or a landscape view basedon an analysis of data received from the one or more orientationsensors.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, depth mapping module 158 and applications (or sets ofinstructions) 136. Furthermore, in some embodiments memory 102 storesdevice/global internal state 157. Device/global internal state 157includes one or more of: active application state, indicating whichapplications, if any, are currently active; display state, indicatingwhat applications, views or other information occupy various regions oftouch screen display 112; sensor state, including information obtainedfrom the device's various sensors and input control devices 116; andlocation information concerning the device's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, oran embedded operating system such as VxWorks) includes various softwarecomponents and/or drivers for controlling and managing general systemtasks (e.g., memory management, storage device control, powermanagement, etc.) and facilitates communication between various hardwareand software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector.

Contact/motion module 130 may detect contact with touch screen 112 (inconjunction with display controller 156) and other touch sensitivedevices (e.g., a touchpad or physical click wheel). Contact/motionmodule 130 includes various software components for performing variousoperations related to detection of contact, such as determining ifcontact has occurred (e.g., detecting a finger-down event), determiningif there is movement of the contact and tracking the movement across thetouch-sensitive surface (e.g., detecting one or more finger-draggingevents), and determining if the contact has ceased (e.g., detecting afinger-up event or a break in contact). Contact/motion module 130receives contact data from the touch-sensitive surface. Determiningmovement of the point of contact, which is represented by a series ofcontact data, may include determining speed (magnitude), velocity(magnitude and direction), and/or an acceleration (a change in magnitudeand/or direction) of the point of contact. These operations may beapplied to single contacts (e.g., one finger contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 130 and display controller 156detect contact on a touchpad.

Contact/motion module 130 may detect a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns. Thus, a gesture may be detected by detecting a particularcontact pattern. For example, detecting a finger tap gesture includesdetecting a finger-down event followed by detecting a finger-up (liftoff) event at the same position (or substantially the same position) asthe finger-down event (e.g., at the position of an icon). As anotherexample, detecting a finger swipe gesture on the touch-sensitive surfaceincludes detecting a finger-down event followed by detecting one or morefinger-dragging events, and subsequently followed by detecting afinger-up (lift off) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the intensity of graphics that aredisplayed. As used herein, the term “graphics” includes any object thatcan be displayed to a user, including without limitation text, webpages, icons (such as user-interface objects including soft keys),digital images, videos, animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic may be assigned a corresponding code.Graphics module 132 receives, from applications etc., one or more codesspecifying graphics to be displayed along with, if necessary, coordinatedata and other graphic property data, and then generates screen imagedata to output to display controller 156.

Text input module 134, which may be a component of graphics module 132,provides soft keyboards for entering text in various applications (e.g.,contacts 137, e-mail 140, IM 141, browser 147, and any other applicationthat needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images and depth        mapping;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which may include one or more of: weather        widget 149-1, stocks widget 149-2, calculator widget 149-3,        alarm clock widget 149-4, dictionary widget 149-5, and other        widgets obtained by the user, as well as user-created widgets        149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which may be made up of a        video player    -   module and a music player module;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, contactsmodule 137 may be used to manage an address book or contact list (e.g.,stored in application internal state 192 of contacts module 137 inmemory 102 or memory 370), including: adding name(s) to the addressbook; deleting name(s) from the address book; associating telephonenumber(s), e-mail address(es), physical address(es) or other informationwith a name; associating an image with a name; categorizing and sortingnames; providing telephone numbers or e-mail addresses to initiateand/or facilitate communications by telephone 138, video conference 139,e-mail 140, or IM 141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact module130, graphics module 132, and text input module 134, telephone module138 may be used to enter a sequence of characters corresponding to atelephone number, access one or more telephone numbers in address book137, modify a telephone number that has been entered, dial a respectivetelephone number, conduct a conversation and disconnect or hang up whenthe conversation is completed. As noted above, the wirelesscommunication may use any of a variety of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact module 130, graphics module132, text input module 134, contact list 137, and telephone module 138,videoconferencing module 139 includes executable instructions toinitiate, conduct, and terminate a video conference between a user andone or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, e-mail client module 140 includes executable instructions tocreate, send, receive, and manage e-mail in response to userinstructions. In conjunction with image management module 144, e-mailclient module 140 makes it very easy to create and send e-mails withstill or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages may include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, orIMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, map module 154, and music player module 146,workout support module 142 includes executable instructions to createworkouts (e.g., with time, distance, and/or calorie burning goals);communicate with workout sensors (sports devices); receive workoutsensor data; calibrate sensors used to monitor a workout; select andplay music for a workout; and display, store and transmit workout data.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, text input module 134, and cameramodule 143, image management module 144 includes executable instructionsto arrange, modify (e.g., edit), or otherwise manipulate, label, delete,present (e.g., in a digital slide show or album), and store still and/orvideo images.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, e-mail client module 140, and browser module 147, calendarmodule 148 includes executable instructions to create, display, modify,and store calendars and data associated with calendars (e.g., calendarentries, to do lists, etc.) in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 1493, alarmclock widget 149-4, and dictionary widget 149-5) or created by the user(e.g., user-created widget 149-6). In some embodiments, a widgetincludes an HTML (Hypertext Markup Language) file, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some embodiments, a widgetincludes an XML (Extensible Markup Language) file and a JavaScript file(e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget creator module 150 may beused by a user to create widgets (e.g., turning a user-specified portionof a web page into a widget).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, and text input module 134,search module 151 includes executable instructions to search for text,music, sound, image, video, and/or other files in memory 102 that matchone or more search criteria (e.g., one or more user-specified searchterms) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, and browser module 147, video and music playermodule 152 includes executable instructions that allow the user todownload and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present or otherwise play back videos (e.g., ontouch screen 112 or on an external, connected display via external port124). In some embodiments, device 100 may include the functionality ofan MP3 player.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, notes module153 includes executable instructions to create and manage notes, to dolists, and the like in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, and browser module 147, map module 154 maybe used to receive, display, modify, and store maps and data associatedwith maps (e.g., driving directions; data on stores and other points ofinterest at or near a particular location; and other location-baseddata) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, text input module 134, e-mail client module 140,and browser module 147, online video module 155 includes instructionsthat allow the user to access, browse, receive (e.g., by streamingand/or download), play back (e.g., on the touch screen or on anexternal, connected display via external port 124), send an e-mail witha link to a particular online video, and otherwise manage online videosin one or more file formats, such as H.264. In some embodiments, instantmessaging module 141, rather than e-mail client module 140, is used tosend a link to a particular online video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 102 maystore a subset of the modules and data structures identified above.Furthermore, memory 102 may store additional modules and data structuresnot described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates device 100 to a main, home, or root menu from any userinterface that may be displayed on device 100. In such embodiments, thetouchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input control device instead of a touchpad.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screen maydisplay one or more graphics within user interface (UI) 200. In thisembodiment, as well as others described below, a user may select one ormore of the graphics by making a gesture on the graphics, for example,with one or more fingers 202 (not drawn to scale in the figure) or oneor more styluses 203 (not drawn to scale in the figure).

Device 100 may also include one or more physical buttons, such as “home”or menu button 204. As described previously, menu button 204 may be usedto navigate to any application 136 in a set of applications that may beexecuted on device 100. Alternatively, in some embodiments, the menubutton is implemented as a soft key in a GUI displayed on touch screen112.

In one embodiment, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 may be used to turn the power on/off on thedevice by depressing the button and holding the button in the depressedstate for a predefined time interval; to lock the device by depressingthe button and releasing the button before the predefined time intervalhas elapsed; and/or to unlock the device or initiate an unlock process.In an alternative embodiment, device 100 also may accept verbal inputfor activation or deactivation of some functions through microphone 113.

It should be noted that, although many of the examples herein are givenwith reference to optical sensor/camera 164 (on the front of a device),a rear-facing camera or optical sensor that is pointed opposite from thedisplay may be used instead of or in addition to an opticalsensor/camera 164 on the front of a device.

FIG. 3 depicts a side view of an example embodiment of an actuatormodule or assembly that may, for example, be used to provide depthmapping with polarization and focus pixels in small form factor cameras,according to at least some embodiments. Further, a camera module such asthat shown in FIG. 3, in addition to providing depth mapping functionsas described herein, may also use the depth mapping information as inputto functions that control components described with respect to FIGS.1-3, for example for focus functions.

Embodiments of depth mapping with polarization and focus pixels may beapplied within a camera, actuator package or image sensor assembly 3000interacting with an image sensor 3050 as illustrated in FIG. 3 tostabilize and increase control performance of an optics assembly 3002suspended on wires 3020 within an actuator package 3000 a-c as shown inFIG. 3. Details of example embodiments, implementations, and methods ofoperations of image sensor 3050, micropixels 3056, gratings and filters3054, optional microlenses 3052 and associated sensors such as are shownin the camera package 3000 shown are discussed below with respect toFIGS. 4-7.

In some embodiments, each position control magnet 3006 is poled so as togenerate a magnetic field, the useful component of which for theautofocus function is orthogonal to the optical axis of the camera/lens,and orthogonal to the plane of each magnet 3006 proximate to theautofocus coil 3004, and where the field for all four magnets 3006 areall either directed towards the autofocus coil 3004, or away from it, sothat the Lorentz forces from all four magnets 3004 act in the samedirection along the optical axis 3080.

As shown in FIG. 3, an actuator package 3000 may include a base assemblyor substrate 3008, an optics assembly 3002, and a cover 3012. Baseassembly 3008 may include one or more of, but is not limited to, a base3008, supporting one or more position sensors (e.g., capacitor plates)3010 a-b, and suspension wires 3020, which enable depth mapping withpolarization and focus pixels for control of movements of autofocus coil3004.

In at least some embodiments, there are four suspension wires 3020. Anoptics assembly 3002 may be suspended on the base assembly 3008 bysuspension of the upper springs 3040 of optics assembly 3000 on thesuspension wires 3020. Actuator module 3000 may include one or more of,but is not limited to, optics 3002, optics holder (autofocus coil) 3004,magnet(s) 3006, upper spring(s) 3040, and lower spring(s) 3042. Theupper and lower spring(s) may be collectively referred to herein asoptics springs. In optics assembly 3000, an optics component 3002 (e.g.,a lens or lens assembly) may be screwed, mounted or otherwise held in orby an optics holder (autofocus coil) 3004. In at least some embodiments,the optics 3002/optics holder (autofocus coil) 3004 assembly may besuspended from or attached to the position control magnets 3006 by upperspring(s) 3040, and lower spring(s) 3042, and the position controlmagnets 3006 may be rigidly mounted to base 3008. Note that upperspring(s) 3040 and lower spring(s) 3042 are flexible to allow the opticsassembly 3000 a range of motion along the Z (optical) axis for opticalfocusing, wires 3020 are flexible to allow a range of motion on the XYplane orthogonal to the optical axis for optical image stabilization.

Note that, in some embodiments, an optics assembly 3000 or an actuatoractuator module may not include position control magnets 3006, but mayinclude a yoke or other structure 3006 that may be used to help supportthe optics assembly on suspension wires 3020 via upper sprigs 3030.However in some embodiments, optics assembly 3000 may not includeelements 3006. In general, other embodiments of an optics assembly 3000may include fewer or more components than the example optics assembly3000 shown in FIG. 3. Also note that, while embodiments show the opticsassembly 3000 suspended on wires 3020, other mechanisms may be used tosuspend an optics assembly 3000 in other embodiments.

The autofocus yoke (e.g., magnets or holder(s) 3006) acts as the supportchassis structure for the autofocus mechanism of actuator 3000. The lenscarrier (optics holder 3004) is suspended on the autofocus yoke by anupper autofocus (AF) spring 3040 and a lower optics spring 3042. In thisway when an electric current is applied to the autofocus coil, Lorentzforces are developed due to the presence of the four magnets, and aforce substantially parallel to the optical axis is generated to movethe lens carrier, and hence lens, along the optical axis, relative tothe support structure of the autofocus mechanism of the actuator, so asto focus the lens. In addition to suspending the lens carrier andsubstantially eliminating parasitic motions, the upper spring 3040 andlower spring 4042 also resist the Lorentz forces, and hence convert theforces to a displacement of the lens. This basic architecture shown inFIG. 3 and is typical of some embodiments, in which optical imagestabilization function includes moving the entire autofocus mechanism ofthe actuator (supported by the autofocus yoke) in linear directionsorthogonal to the optical axis, in response to user handshake, asdetected by some means, such a two or three axis gyroscope, which sensesangular velocity. The handshake of interest is the changing angular tiltof the camera in ‘pitch and yaw directions’, which can be compensated bysaid linear movements of the lens relative to the image sensor.

At least some embodiments may achieve this two independentdegree-of-freedom motion by using two pairs of optical imagestabilization coils, each pair acting together to deliver controlledmotion in one linear axis orthogonal to the optical axis, and each pairdelivering controlled motion in a direction substantially orthogonal tothe other pair. In at least some embodiments, these optical imagestabilization coils may be fixed to the camera actuator supportstructure, and when current is appropriately applied, optical imagestabilization coils may generate Lorentz forces on the entire autofocusmechanism of the actuator, moving it as desired. The required magneticfields for the Lorentz forces are produced by the same four magnets thatenable to the Lorentz forces for the autofocus function. However, sincethe directions of motion of the optical image stabilization movementsare orthogonal to the autofocus movements, it is the fringing field ofthe four magnets that are employed, which have components of magneticfield in directions parallel to the optical axis.

Returning to FIG. 3, in at least some embodiments, the suspension of theautofocus mechanism on the actuator 3000 support structure may beachieved by the use of four corner wires 3020, for example wires with acircular cross-section. Each wire 3020 acts as a flexure beams capableof bending with relatively low stiffness, thus allowing motion in bothoptical image stabilization degrees-of-freedom. However, wire 3020 is insome embodiments relatively stiff in directions parallel to the opticalaxis, as this would require the wire to stretch or buckle, thussubstantially preventing parasitic motions in these directions. Inaddition, the presence of four such wires, appropriately separatedallows them to be stiff in the parasitic tilt directions of pitch andyaw, thus substantially preventing relative dynamic tilt between thelens and image sensor. This may be seen by appreciating that each wire3020 is stiff in directions that require it to change in length, andhence the fixed points at the ends of each wire (eight points in total)will substantially form the vertices of a parallelepiped for alloperational positions of the optical image stabilization mechanism.

In some embodiments, a package of processors and memory 3090 or othercomputer-readable medium as described herein may alternatively, in someembodiments, be omitted from actuator module 3000 and housed elsewherein a device in which actuator package 3000 is installed.

In some embodiments, actuator package 3000 is installed in a camera of amobile computing device.

Some embodiments include an image sensor structure 3050 for capturingvisible light intensity and polarization data is presented. In someembodiments, a super-pixel sensor 3058 includes a plurality ofmicro-pixel sensors 3056. In some embodiments, a superpixel sensor is animage sensor array form factor including a set of individual micropixelsensors configured for converting light at an array discrete individuallocations to a set of data signals. In some embodiments, a plurality ofoptional micro-lenses 3052 a-3052 c is affixed to focus light on theplurality of micro-pixel sensors 3056 a-3056 c. In some embodiments,microlenses 3052 a-3052 b are individual lenses for directing lightreceived from optics 3002 to locations on a respective one or more ofthe plurality of micro-pixel sensors 3056 a-3056 c.

In some embodiments, one or more color filters 3054 a-b is affixed atlocations for filtering light directed by the micro-lenses 3052 a-b to afirst set of color image micro-pixel sensors 3056 a-b including one ormore of the plurality of micro-pixel sensors for capturing color imagedata 3056 a-b. In some embodiments, one or more polarization filters3054 c is affixed at locations for filtering light directed by themicro-lenses 3052 c to a second set of polarization micro-pixel sensors3056 c including one or more of the plurality of micro-pixel sensors3056 c for capturing depth map data 3056 c.

FIG. 4 depicts a pixel array representing an embodiment of an imagesensor that may, for example, be used to provide depth mapping withpolarization and focus pixels in small form factor cameras, according toat least some embodiments. An image sensor structure for capturingvisible light intensity and polarization data is presented. In someembodiments, a super-pixel sensor 4000 includes a plurality ofmicro-pixel sensors 4002-4118. In some embodiments, a plurality ofoptional micro-lenses (not shown) is affixed to focus light on theplurality of micro-pixel sensors 4002-4118. In some embodiments, eachmicro-lens of the plurality of micro-lenses (not shown) directs light tolocations on a respective one or more of the plurality of micro-pixelsensors 4002-4118.

In some embodiments, one or more color filters (not shown) is affixed atlocations for filtering light directed by the micro-lenses (not shown)to a first set of color image micro-pixel sensors 4002-4118 includingone or more of the plurality of micro-pixel sensors for capturing colorimage data 4002-4008 and 4102-4118. In some embodiments, one or morepolarization filters (not shown) is affixed at locations for filteringlight directed by the micro-lenses (not shown) to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors 4002-4118 for capturing depth map data 4012-4018.

In some embodiments, the one or more polarization filters (not shown)include gratings including lithographically deposited tungsten, oranother suitable material, such as aluminum. In some embodiments, theone or more polarization filters (not shown) include gratings alignedfor filtering light of a first polarization (e.g., n-s at micropixelsensor 4012), and gratings aligned for filtering light of a polarizationorthogonal to the first polarization (e.g., e-w at micropixel sensor4018). As shown in FIG. 4, the gratings further include gratings alignedfor filtering light of a third polarization (e.g., at micropixel sensor4016) halfway between the first polarization and the secondpolarization, and gratings aligned for filtering light of a fourthpolarization antiparallel to the third polarization (e.g., at micropixelsensor 4014).

In some embodiments, the one or more polarization filters (not shown)include one or more polarization filters affixed at locations forfiltering light directed by respective individual ones of themicro-lenses (not shown) to individual ones of the set of polarizationmicro-pixel sensors 4012-4018.

In some embodiments, the one or more polarization filters (not shown)include one or more polarization filters (not shown) affixed atlocations for filtering light directed by respective individual ones ofthe micro-lenses (not shown) to groups including pluralities ofpolarization micropixel sensors of the set of polarization micro-pixelsensors. In some embodiments, a quantity of the polarization micro-pixelsensors 4012-4018 including the one or more of the plurality ofmicro-pixel sensors for capturing depth map data 4012-4018 is equal toquantities of the one or more of the plurality of micro-pixel sensorsfor capturing color image data for each color of a plurality of colorscaptured by the plurality of micro-pixel sensors for capturing colorimage data (e.g., the quantity of each of red micro-pixel sensors4002-4008, green micro-pixel sensors 4102-4108, and blue micro-pixelsensors 4112-4118).

In some embodiments, a quantity of the polarization micro-pixel sensors4012-4018 including the one or more of the plurality of micro-pixelsensors for capturing depth map data 4012-4018 is equal to a quantity ofthe one or more of the plurality of micro-pixel sensors for capturingcolor image data for a color of a plurality of colors captured by theplurality of micro-pixel sensors for capturing color image data (e.g.,the quantity of any of red micro-pixel sensors 4002-4008, greenmicro-pixel sensors 4102-4108, and blue micro-pixel sensors 4112-4118).

FIG. 5 illustrates a pixel array representing an embodiment of an imagesensor that may, for example, be used to provide depth mapping withpolarization and focus pixels in small form factor cameras, according toat least some embodiments. Some embodiments include a super-pixel sensor5000 including a plurality of micro-pixel sensors 5002-5118. A pluralityof color filters (not shown) is affixed at locations for filtering lightdirected to a first set of micro-pixel sensors 5004-5008 (red),5014-5018 (green), 5104-5108 (green), and 5114-5118 (blue) including oneor more of the plurality of micro-pixel sensors 5002-5118. A pluralityof polarization filters 5002, 5012, 5102 and 5112 is also affixed atlocations for filtering light directed to a second set of micro-pixelsensors beneath gratings 5002, 5012, 5102 and 5112 including one or moreof the plurality of micro-pixel sensors 5002-5118.

In some embodiments, certain micropixel sensors 5002-5118 of theplurality of micropixel sensors 5002-5118 share a floating diffusionnode (not shown), and a camera module including the super-pixel sensor5000 also includes a plurality of micro-lenses (not shown) affixed to animage sensor structure at an angle calculated to direct light to ones ofthe plurality of micro-pixel sensors 5002-5118. In some embodiments,each of the plurality of micro-lenses directs light to locations on arespective one or more of the plurality of micro-pixel sensors.

In some embodiments the one or more polarization filters include 5002,5012, 5102 and 5112 gratings aligned for filtering light of a firstpolarization 5002, gratings aligned for filtering light of a secondpolarization orthogonal to the first polarization 5112, gratings alignedfor filtering light of a third polarization 5102 halfway between thefirst polarization and the second polarization, and gratings aligned forfiltering light of a fourth polarization antiparallel to the thirdpolarization 5012.

In some embodiments, a quantity of the polarization micro-pixel sensorsincluding the one or more of the plurality of micro-pixel sensors forcapturing depth map data 5002, 5012, 5102 and 5112 is greater thanquantities of the one or more of the plurality of micro-pixel sensorsfor capturing color image data 5004-5008 and 5114-5118 for each color ofa plurality of two colors captured by the plurality of micro-pixelsensors for capturing color image data and less than a quantity of oneor more of the plurality of micro pixel sensors for capturing colorimage data for a third color 5014-5018 and 5104-5108 captured by theplurality of micro-pixel sensors.

In some embodiments, the camera module includes a circuit (not shown)for adding output of the plurality of polarization micropixel sensorsfor use as a simulated intensity pixel sensor.

In some embodiments, the camera module includes a circuit (not shown)for adding output of the plurality of polarization micropixel sensorsfor use as a simulated intensity pixel sensor and doubling the output ofthe simulated intensity pixel sensor to compensate for light lossthrough the polarization filters.

FIG. 6 depicts a pixel array with microlenses representing an embodimentof an image sensor that may, for example, be used to provide depthmapping with polarization and focus pixels in small form factor cameras,according to at least some embodiments. An image sensor structure forcapturing visible light intensity and polarization data is presented. Insome embodiments, a super-pixel sensor 6000 includes a plurality ofmicro-pixel sensors 6002-6118. In some embodiments, a plurality ofmicro-lenses (6302, 6312-6318, 6206, and 6216) is affixed to focus lighton the plurality of micro-pixel sensors 6002-6118. In some embodiments,each micro-lens of the plurality of micro-lenses (6302, 6312-6318, 6206,and 6216) directs light to locations on a respective one or more of theplurality of micro-pixel sensors 6002-6118.

In some embodiments, one or more color filters (not shown) is affixed atlocations for filtering light directed by the micro-lenses (6302, 6206,and 6216) to a first set of color image micro-pixel sensors 6002-6118including one or more of the plurality of micro-pixel sensors forcapturing color image data 6002-6008 and 6102-6118. In some embodiments,one or more polarization filters 6012-6018 is affixed at locations forfiltering light directed by the micro-lenses 6312-6318 to a second setof polarization micro-pixel sensors including one or more of theplurality of micro-pixel sensors 6002-6118 for capturing depth map data6012-6018.

In some embodiments, the one or more polarization filters 6312-6318include gratings including lithographically deposited tungsten, oranother suitable material, such as aluminum. In some embodiments, theone or more polarization filters include gratings aligned for filteringlight of a first polarization (e.g., n-s at micropixel sensor 6012), andgratings aligned for filtering light of a polarization orthogonal to thefirst polarization (e.g., e-w at micropixel sensor 6018). As shown inFIG. 4, the gratings further include gratings aligned for filteringlight of a third polarization (e.g., at micropixel sensor 6016) halfwaybetween the first polarization and the second polarization, and gratingsaligned for filtering light of a fourth polarization antiparallel to thethird polarization (e.g., at micropixel sensor 6014).

In some embodiments, the one or more polarization filters 6312-6318include one or more polarization filters affixed at locations forfiltering light directed by respective individual ones of themicro-lenses 6312-6318 to individual ones of the set of polarizationmicro-pixel sensors 6012-6018.

In some embodiments, a quantity of the polarization micro-pixel sensors6012-6018 including the one or more of the plurality of micro-pixelsensors for capturing depth map data 6012-46018 is equal to quantitiesof the one or more of the plurality of micro-pixel sensors for capturingcolor image data for each color of a plurality of colors captured by theplurality of micro-pixel sensors for capturing color image data (e.g.,the quantity of each of red micro-pixel sensors 6002-6008, greenmicro-pixel sensors 4102-6108, and blue micro-pixel sensors 6112-6118).

In some embodiments, a quantity of the polarization micro-pixel sensors6012-6018 including the one or more of the plurality of micro-pixelsensors for capturing depth map data 6012-6018 is equal to a quantity ofthe one or more of the plurality of micro-pixel sensors for capturingcolor image data for a color of a plurality of colors captured by theplurality of micro-pixel sensors for capturing color image data (e.g.,the quantity of any of red micro-pixel sensors 6002-6008, greenmicro-pixel sensors 6102-6108, and blue micro-pixel sensors 6112-6118).

FIG. 7 illustrates a pixel array with microlenses representing anembodiment of an image sensor that may, for example, be used to providedepth mapping with polarization and focus pixels in small form factorcameras, according to at least some embodiments. An image sensorstructure for capturing visible light intensity and polarization data ispresented. In some embodiments, a super-pixel sensor 7000 includes aplurality of micro-pixel sensors 7002-7118. In some embodiments, aplurality of micro-lenses (7302, 7316, 7206, and 7216) is affixed tofocus light on the plurality of micro-pixel sensors 7002-7118. In someembodiments, each micro-lens of the plurality of micro-lenses (7302,7316, 7206, and 7216) directs light to locations on a respective one ormore of the plurality of micro-pixel sensors 7002-7118.

In some embodiments, one or more color filters is affixed at locationsfor filtering light directed by the micro-lenses (7302, 7316, 7206, and7216) to a first set of color image micro-pixel sensors 7002-7008,7102-7118 including one or more of the plurality of micro-pixel sensorsfor capturing color image data 7002-7008 and 7102-7118. In someembodiments, one or more polarization filters 7012-7018 is affixed atlocations for filtering light directed by one or more of themicro-lenses 7316 to a second set of polarization micro-pixel sensorsincluding one or more of the plurality of micro-pixel sensors 7012-7118for capturing depth map data 7012-7118.

In some embodiments, the one or more polarization filters 7012-7018include gratings including lithographically deposited tungsten, oranother suitable material, such as aluminum. In some embodiments, theone or more polarization filters include gratings aligned for filteringlight of a first polarization (e.g., n-s at micropixel sensor 7012), andgratings aligned for filtering light of a polarization orthogonal to thefirst polarization (e.g., e-w at micropixel sensor 7018). As shown inFIG. 7, the gratings further include gratings aligned for filteringlight of a third polarization (e.g., at micropixel sensor 7016) halfwaybetween the first polarization and the second polarization, and gratingsaligned for filtering light of a fourth polarization antiparallel to thethird polarization (e.g., at micropixel sensor 7014).

In some embodiments, a quantity of the polarization micro-pixel sensors7012-7018 including the one or more of the plurality of micro-pixelsensors for capturing depth map data 7012-7018 is equal to quantities ofthe one or more of the plurality of micro-pixel sensors for capturingcolor image data for each color of a plurality of colors captured by theplurality of micro-pixel sensors for capturing color image data (e.g.,the quantity of each of red micro-pixel sensors 7002-7008, greenmicro-pixel sensors 7102-7108, and blue micro-pixel sensors 7112-7118).

FIG. 8A is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments. Aplurality of micro-lenses focuses light on a plurality of micro-pixelsensors, arranged such that each micro-lens of the plurality ofmicro-lenses directs light to locations on a respective one or more ofthe plurality of micro-pixel sensors (block 820). One or more colorfilters is used to perform filtering of light directed by themicro-lenses to a first set of color image micro-pixel sensors includingone or more of the plurality of micro-pixel sensors for capturing colorimage data (block 830). The first set of color image micro-pixel sensorscaptures color image data (block 840). One or more polarization filtersfilters light directed by the micro-lenses to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors for capturing depth map data (block 850). Thesecond set of polarization micro-pixel sensors captures depth map data(block 860).

FIG. 8B is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments. Aplurality of micro-lenses focuses light on a plurality of micro-pixelsensors, arranged such that each micro-lens of the plurality ofmicro-lenses directs light to locations on a respective one or more ofthe plurality of micro-pixel sensors (block 822). One or more colorfilters is used to perform filtering of light directed by themicro-lenses to a first set of color image micro-pixel sensors includingone or more of the plurality of micro-pixel sensors for capturing colorimage data (block 832). The first set of color image micro-pixel sensorscaptures color image data (block 842). One or more polarization filtersfilters light directed by the micro-lenses to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors for capturing depth map data (block 852). Thesecond set of polarization micro-pixel sensors capturing depth map data(block 862). A depth map is constructed from the depth map data (block872).

FIG. 9 is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments. Aplurality of micro-lenses focuses light on a plurality of micro-pixelsensors, arranged such that each micro-lens of the plurality ofmicro-lenses directs light to locations on a respective one or more ofthe plurality of micro-pixel sensors (block 922). One or more colorfilters is used to perform filtering of light directed by themicro-lenses to a first set of color image micro-pixel sensors includingone or more of the plurality of micro-pixel sensors for capturing colorimage data (block 932). The first set of color image micro-pixel sensorscaptures color image data (block 942). One or more polarization filtersfilters light directed by the micro-lenses to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors for capturing depth map data (block 952). Thesecond set of polarization micro-pixel sensors capturing depth map data(block 962). Output of the plurality of polarization micropixel sensorsis summed for use as a simulated intensity pixel sensor and doubling theoutput of the simulated intensity pixel sensor to compensate for lightloss through the polarization filters (block 972).

FIG. 10 is a flowchart of a method to provide depth mapping withpolarization and focus pixels, according to at least some embodiments. Aplurality of micro-lenses focuses light on a plurality of micro-pixelsensors, arranged such that each micro-lens of the plurality ofmicro-lenses directs light to locations on a respective one or more ofthe plurality of micro-pixel sensors (block 1020). One or more colorfilters is used to perform filtering of light directed by themicro-lenses to a first set of color image micro-pixel sensors includingone or more of the plurality of micro-pixel sensors for capturing colorimage data (block 1030). The first set of color image micro-pixelsensors captures color image data (block 1040). One or more polarizationfilters filters light directed by the micro-lenses to a second set ofpolarization micro-pixel sensors including one or more of the pluralityof micro-pixel sensors for capturing depth map data (block 1050). Thesecond set of polarization micro-pixel sensors capturing depth map data(block 1060). A depth map is constructed from the depth map data (block1070). A color image is constructed from the color image data (block1080). The depth map data is associated with the color image data tobuild a color-image and depth map data structure (block 1090).

Example Computer System

FIG. 11 illustrates an example computer system 1100 that may beconfigured to execute any or all of the embodiments described above. Indifferent embodiments, computer system 1100 may be any of various typesof devices, including, but not limited to, a personal computer system,desktop computer, laptop, notebook, tablet, slate, pad, or netbookcomputer, mainframe computer system, handheld computer, workstation,network computer, a camera, a set top box, a mobile device, a consumerdevice, video game console, handheld video game device, applicationserver, storage device, a television, a video recording device, aperipheral device such as a switch, modem, router, or in general anytype of computing or electronic device.

Various embodiments of a camera motion control system as describedherein, including embodiments of depth mapping sensing, as describedherein may be executed in one or more computer systems 1100, which mayinteract with various other devices. Note that any component, action, orfunctionality described above with respect to FIGS. 1-10 may beimplemented on one or more computers configured as computer system 1100of FIG. 11, according to various embodiments. In the illustratedembodiment, computer system 1100 includes one or more processors 1110coupled to a system memory 1120 via an input/output (I/O) interface1130. Computer system 1100 further includes a network interface 1140coupled to I/O interface 1130, and one or more input/output devices1150, such as cursor control device 1160, keyboard 1170, and display(s)1180. In some cases, it is contemplated that embodiments may beimplemented using a single instance of computer system 1100, while inother embodiments multiple such systems, or multiple nodes making upcomputer system 1100, may be configured to host different portions orinstances of embodiments. For example, in one embodiment some elementsmay be implemented via one or more nodes of computer system 1100 thatare distinct from those nodes implementing other elements.

In various embodiments, computer system 1100 may be a uniprocessorsystem including one processor 1110, or a multiprocessor systemincluding several processors 1110 (e.g., two, four, eight, or anothersuitable number). Processors 1110 may be any suitable processor capableof executing instructions. For example, in various embodimentsprocessors 1110 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 1110 may commonly,but not necessarily, implement the same ISA.

System memory 1120 may be configured to store camera control programinstructions 1122 and/or camera control data accessible by processor1110. In various embodiments, system memory 1120 may be implementedusing any suitable memory technology, such as static random accessmemory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-typememory, or any other type of memory. In the illustrated embodiment,program instructions 1122 may be configured to implement a lens controlapplication 1124 incorporating any of the functionality described above.Additionally, existing camera control data 1132 of memory 1120 mayinclude any of the information or data structures described above. Insome embodiments, program instructions and/or data may be received, sentor stored upon different types of computer-accessible media or onsimilar media separate from system memory 1120 or computer system 1100.While computer system 1100 is described as implementing thefunctionality of functional blocks of previous Figures, any of thefunctionality described herein may be implemented via such a computersystem.

In one embodiment, I/O interface 1130 may be configured to coordinateI/O traffic between processor 1110, system memory 1120, and anyperipheral devices in the device, including network interface 1140 orother peripheral interfaces, such as input/output devices 1150. In someembodiments, I/O interface 1130 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 1120) into a format suitable for use byanother component (e.g., processor 1110). In some embodiments, I/Ointerface 1130 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 1130 may be split into two or more separate components, suchas a north bridge and a south bridge, for example. Also, in someembodiments some or all of the functionality of I/O interface 1130, suchas an interface to system memory 1120, may be incorporated directly intoprocessor 1110.

Network interface 1140 may be configured to allow data to be exchangedbetween computer system 1100 and other devices attached to a network1185 (e.g., carrier or agent devices) or between nodes of computersystem 1100. Network 1185 may in various embodiments include one or morenetworks including but not limited to Local Area Networks (LANs) (e.g.,an Ethernet or corporate network), Wide Area Networks (WANs) (e.g., theInternet), wireless data networks, some other electronic data network,or some combination thereof. In various embodiments, network interface1140 may support communication via wired or wireless general datanetworks, such as any suitable type of Ethernet network, for example;via telecommunications/telephony networks such as analog voice networksor digital fiber communications networks; via storage area networks suchas Fibre Channel SANs, or via any other suitable type of network and/orprotocol.

Input/output devices 1150 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or accessing data by one or more computer systems 1100.Multiple input/output devices 1150 may be present in computer system1100 or may be distributed on various nodes of computer system 1100. Insome embodiments, similar input/output devices may be separate fromcomputer system 1100 and may interact with one or more nodes of computersystem 1100 through a wired or wireless connection, such as over networkinterface 1140.

As shown in FIG. 11, memory 1120 may include program instructions 1122,which may be processor-executable to implement any element or actiondescribed above. In one embodiment, the program instructions mayimplement the methods described above. In other embodiments, differentelements and data may be included. Note that data may include any dataor information described above.

Those skilled in the art will appreciate that computer system 1100 ismerely illustrative and is not intended to limit the scope ofembodiments. In particular, the computer system and devices may includeany combination of hardware or software that can perform the indicatedfunctions, including computers, network devices, Internet appliances,PDAs, wireless phones, pagers, etc. Computer system 1100 may also beconnected to other devices that are not illustrated, or instead mayoperate as a stand-alone system. In addition, the functionality providedby the illustrated components may in some embodiments be combined infewer components or distributed in additional components. Similarly, insome embodiments, the functionality of some of the illustratedcomponents may not be provided and/or other additional functionality maybe available.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 1100 may be transmitted to computer system1100 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Generally speaking, a computer-accessiblemedium may include a non-transitory, computer-readable storage medium ormemory medium such as magnetic or optical media, e.g., disk orDVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR,RDRAM, SRAM, etc.), ROM, etc. In some embodiments, a computer-accessiblemedium may include transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of the blocks of the methods may be changed, and various elementsmay be added, reordered, combined, omitted, modified, etc. Variousmodifications and changes may be made as would be obvious to a personskilled in the art having the benefit of this disclosure. The variousembodiments described herein are meant to be illustrative and notlimiting. Many variations, modifications, additions, and improvementsare possible. Accordingly, plural instances may be provided forcomponents described herein as a single instance. Boundaries betweenvarious components, operations and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within the scope of claims that follow. Finally,structures and functionality presented as discrete components in theexample configurations may be implemented as a combined structure orcomponent. These and other variations, modifications, additions, andimprovements may fall within the scope of embodiments as defined in theclaims that follow.

What is claimed is:
 1. An image sensor structure for capturing lightintensity and polarization data, comprising: a super-pixel sensorcomprising a plurality of micro-pixel sensor groups; a plurality ofmicro-lenses affixed to focus light on a plurality of micro-pixelsensors, wherein each micro-lens of the plurality of micro-lensesdirects light to locations on a respective one or more of the pluralityof micro-pixel sensors; a plurality of filters of a plurality of filtertypes affixed at locations for filtering light directed by themicro-lenses to the micro-pixel sensors, the plurality of filter typescomprising: a plurality of color filter types for capturing color imagedata for respective ones of a plurality of colors; and a plurality ofpolarization filter types including a first polarization filter type anda second polarization filter type of a different polarization than thefirst polarization filter type, for capturing depth map data; whereinthe plurality of micro-pixel sensor groups comprises: a firstmicro-pixel sensor group comprising a first plurality of contiguousmicro-pixel sensors of the plurality of micro-pixel sensors, whereinmultiple contiguous micro-pixel sensors of the first plurality ofcontiguous micro-pixel sensors are configured to receive light filteredby a same type of the plurality of color filter types; and a secondmicro-pixel sensor group, contiguous to the first micro-pixel sensorgroup, comprising a second plurality of contiguous micro-pixel sensorsof the plurality of micro-pixel sensors configured to receive lightfiltered by at least two different types of the plurality of filtertypes including at least one of the plurality of polarization filtertypes; wherein the contiguous first and second micro-pixel sensor groupsare collectively configured to receive light filtered by filters of thefirst polarization filter type and the second polarization filter typeof a different polarization than the first polarization filter type. 2.The image sensor structure of claim 1, wherein the plurality ofpolarization filters comprise: gratings comprising lithographicallydeposited tungsten.
 3. The image sensor structure of claim 1, whereinthe plurality of polarization filters comprise: gratings aligned forfiltering light of a first polarization, and gratings aligned forfiltering light of a polarization orthogonal to the first polarization.4. The image sensor structure of claim 1, wherein the plurality ofpolarization filters comprise a plurality of polarization filtersaffixed at locations for filtering light directed by respectiveindividual ones of the micro-lenses to individual ones of the set ofpolarization micro-pixel sensors.
 5. The image sensor structure of claim1, wherein the plurality of polarization filters polarization filterscomprise a plurality of polarization filters affixed at locations forfiltering light directed by one of the micro-lenses affixed to focuslight on an individual one of the plurality of micro-pixel sensorgroups.
 6. The image sensor structure of claim 1, wherein a quantity ofthe polarization micro-pixel sensors is equal to quantities of the colorimage micro-pixel sensors for each color of the plurality of colors. 7.The image sensor structure of claim 1, comprising the plurality ofmicro-pixel sensor groups each further comprising one or more of thefirst set of color image micro-pixel sensors and one of the second setof polarization micro-pixel sensors; wherein a quantity of thepolarization micro-pixel sensors is equal to a quantity of the pluralityof micro-pixel sensor groups.
 8. A camera module, comprising: asuper-pixel sensor comprising a plurality of micro-pixel sensor groups;a plurality of filters of a plurality of filter types affixed atlocations for filtering light directed to a plurality of micro-pixelsensors, the plurality of filter types comprising: a plurality of colorfilter types for capturing color image data for respective ones of aplurality of colors; and a plurality of polarization filter typesincluding a first polarization filter type and a second polarizationfilter type of a different polarization than the first polarizationfilter type, for capturing depth map data; wherein the plurality ofmicro-pixel sensor groups comprises: a first micro-pixel sensor groupcomprising a first plurality of contiguous micro-pixel sensors of theplurality of micro-pixel sensors, wherein multiple contiguousmicro-pixel sensors of the first plurality of contiguous micro-pixelsensors are configured to receive light filtered by a same type of theplurality of color filter types; and a second micro-pixel sensor group,contiguous to the first micro-pixel sensor group, comprising a secondplurality of contiguous micro-pixel sensors of the plurality ofmicro-pixel sensors configured to receive light filtered by at least twodifferent types of the plurality of filter types including at least oneof the plurality of polarization filter types; wherein the contiguousfirst and second micro-pixel sensor groups are collectively configuredto receive light filtered by filters of the first polarization filtertype and the second polarization filter type of a different polarizationthan the first polarization filter type.
 9. The camera module of claim8, further comprising: a plurality of micro-lenses affixed to an imagesensor structure at an angle calculated to direct light to the pluralityof micro-pixel sensors, wherein each of the plurality of micro-lensesdirects light to locations on a respective one or more of the pluralityof micro-pixel sensors; wherein the plurality of micro-pixel sensors forone or more of the micro-pixel sensor groups share a floating diffusionnode.
 10. The camera module of claim 8, the plurality of polarizationfilters comprising: gratings aligned for filtering light of a firstpolarization, gratings aligned for filtering light of a secondpolarization orthogonal to the first polarization, gratings aligned forfiltering light of a third polarization halfway between the firstpolarization and the second polarization, and gratings aligned forfiltering light of a fourth polarization antiparallel to the thirdpolarization.
 11. The camera module of claim 8, wherein a quantity ofthe second set of polarization micro-pixel sensors is equal toquantities of the first set of color image micro-pixel sensors for eachcolor of the plurality of colors.
 12. The camera module of claim 8, theplurality of micro-pixel sensor groups each further comprising one ormore of the first set of color image micro-pixel sensors and one of thesecond set of polarization micro-pixel sensors; wherein a quantity ofthe second set of polarization micro-pixel sensors is equal to aquantity of the plurality of micro-pixel sensor groups.
 13. The cameramodule of claim 8, further comprising a plurality of micro-lensesaffixed at locations to an image sensor structure at an angle calculatedto direct light to the plurality of micro-pixel sensor groups, whereineach of the plurality of micro-pixel sensor groups shares a commonmicro-lens.
 14. The camera module of claim 8, further comprising aplurality of micro-lenses affixed to an image sensor structure at anangle calculated to direct light to the plurality of micro-pixelsensors, wherein each of the plurality of micro-lenses directs light tolocations on a respective one or more of the plurality of micro-pixelsensors; wherein each of the plurality of polarization filters isaffixed at a location for filtering light directed by a micro-lens to anindividual micro-pixel sensor, and wherein individual ones of the firstset of color image micro-pixel sensors belonging to the same one of theplurality of super-pixel sensor groups share a common micro-lens. 15.The camera module of claim 8, further comprising a circuit for addingoutput of each of the second set of polarization micro-pixel sensors foruse as a simulated intensity pixel sensor.
 16. The camera module ofclaim 8, further comprising a circuit for adding output of each of thesecond set of polarization micro-pixel sensors for use as a simulatedintensity pixel sensor and adjusting the output of the simulatedintensity pixel sensor to compensate for light loss through thepolarization filters.
 17. A method, comprising: focusing light, by aplurality of micro-lenses, on a plurality of micro-pixel sensor groupscomprising respective contiguous pluralities of micro-pixel sensors,wherein each micro-lens of the plurality of micro-lenses directs lightto locations on a respective one or more of the respective pluralitiesof micro-pixel sensors though a plurality of filters of a plurality offilter types including a plurality of color filter types and a pluralityof polarization filter types; filtering light, by one or more colorfilters of the plurality of color filter types for respective ones of aplurality of colors, directed by the micro-lenses to a first set ofcolor image micro-pixel sensors of the respective pluralities ofmicro-pixel sensors for capturing color image data; capturing colorimage data by the first set of color image micro-pixel sensors;filtering light, by one or more polarization filters of the plurality ofpolarization filter types, directed by the micro-lenses to a second setof polarization micro-pixel sensors of the respective pluralities ofmicro-pixel sensors for capturing depth map data, wherein the pluralityof polarization filter types comprises a first polarization filter typeand a second polarization filter type of a different polarization thanthe first polarization filter type; and capturing depth map data by thesecond set of polarization micro-pixel sensors; wherein the plurality ofmicro-pixel sensor groups comprises: a first micro-pixel sensor groupcomprising a first plurality of contiguous micro-pixel sensors of theplurality of micro-pixel sensors, wherein multiple contiguousmicro-pixel sensors of the first plurality of contiguous micro-pixelsensors are configured to receive light filtered by a same type of theplurality of color filter types; and a second micro-pixel sensor group,contiguous to the first micro-pixel sensor group, comprising a secondplurality of contiguous micro-pixel sensors of the plurality ofmicro-pixel sensors configured to receive light filtered by at least twodifferent types of the plurality of filter types including at least oneof the plurality of polarization filter types; wherein the contiguousfirst and second micro-pixel sensor groups are collectively configuredto receive light filtered by filters of the first polarization filtertype and the second polarization filter type of a different polarizationthan the first polarization filter type.
 18. The method of claim 17,further comprising: constructing a depth map from the depth map data.19. The method of claim 17, further comprising: constructing a depth mapfrom the depth map data; constructing a color image from the color imagedata; and associating the depth map data with the color image data tobuild a color-image and depth map data structure.
 20. The method ofclaim 17, further comprising: adding output of each of the plurality ofpolarization micro-pixel sensors for use as a simulated intensity pixelsensor and adjusting the output of the simulated intensity pixel sensorto compensate for light loss through the polarization filters.